package com.atguigu01.create.thread;

public class primenumber {
    public static void main(String[] args) {
        //3创建当前Thread的子类的对象
        printnumber p1=new printnumber();
        //4通过对象调用start()
        p1.start();//如果这里是p1.run();则只有一个线程，start()的作用第一步就是启动线程

        /*
        * 不能让已经start的线程再次执行start，否则报异常
        * 如果再想搞一个线程，则需要新建一个对象再start
        * */
        printnumber p2=new printnumber();
        p1.start();
//main方法所在的线程执行的操作
        for (int i = 0; i <=1000 ; i++) {
            if(i%2==0){
                System.out.println(i+"------");
            }
        }
     ///////////////////////////////////////////////
        //3 创建当前实现类的对象
        even e3=new even();
        //4将此对象作为参数传递到Thread类的构造器中，创建Thread类的实例
        Thread t1=new Thread(e3);
        //Thread类的实例调用start():1.启动线程2.调用当前线程的run()
        t1.start();

        new Thread(new Runnable() {
            @Override
            public void run() {

            }
        });

        new Thread(new Runnable() {
            @Override
            public void run() {

            }
        });

    }
}

//1 创建一个thread类的子类
class printnumber extends Thread{
    //2重写run()方法--->将此线程要执行的操作，声明在此方法体中
    @Override
    public void run() {
        for (int i = 0; i <=100 ; i++) {
            if(i%2==0){
                System.out.println(i);
            }
        }
    }
}
//1 创建一个实现Runnable接口的类
class even implements Runnable{
    //2 实现接口中的run() -->将此线程要执行的操作，声明在此方法体中
    @Override
    public void run() {
        for (int i = 0; i <=100 ; i++) {
            if(i%2==0){
                System.out.println(i);
            }
        }
    }
}
